﻿using Onetube.Providers.EventArgsClasses;
using Onetube.Providers.YoutubeDownloader;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Threading.Tasks;
using Windows.Networking.BackgroundTransfer;

namespace Onetube.Providers.Interfaces
{
    public interface IYoutubeDownloadProvider
    {
        ObservableCollection<DownloadItem> Downloads { get; set; }

        Task<List<DownloadOperation>> GetSystemDownloads();

        event EventHandler<MainDownloadProgressEventArgs> MainDownloadProgressChanged;
        event EventHandler<MainDownloadChanged> OnMainDownloadChanged;
        event EventHandler<MainCountDownload> MainCountDownloadChanged;
    }
}